package com.itheima.dao;


import com.itheima.pojo.Dish;
import com.itheima.vo.DishDetailVo;
import com.itheima.vo.DishDownVo;
import com.itheima.vo.DishListVo;
import com.itheima.vo.DishPageVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;


import java.util.List;

/**
 * @author itheima
 * @since 2022-05-03
 */
@Mapper
public interface DishMapper {
    /**
     * 新增分类
     * @param dish
     * @return
     */
    int  insert(Dish dish);

    /**
     * 分页查询
     * @param skip
     * @param limit
     * @param name
     * @return
     */
      List<DishPageVo> getPage(@Param("skip") Integer skip ,
                               @Param("limit") Integer limit,
                               @Param("name") String name
                           );

    /**
     * 查询总数
     * @return
     */
      Long selectTotalByName();

    /**
     * 根据id查询
     * @param id
     * @return
     */
      Dish selectById(String id);

    /**
     * 修改
     * @param dish
     * @return
     */
      int update(Dish dish);

    /**
     * 删除
     * @param ids
     * @return
     */
      int updateIsDeletedById(String[] ids);

    /**
     * 修改起停售
     * @param ids
     * @param status
     * @return
     */
    int updateStatusById(@Param("array") String[] ids,@Param("status") Integer status);

    /**
     * 下拉
     * @param categoryId
     * @param name
     * @return
     */
    List<DishDownVo> selectByCategoryId(@Param("categoryId") String categoryId,@Param("name") String name);

    /**
     * 菜品列表
     * @param categoryId
     * @param status
     * @return
     */
    List<Dish> getList(@Param("categoryId") String categoryId,@Param("status") Integer status);

    /**
     * 菜品详情
     * @param setMealId
     * @return
     */
     List<DishDetailVo> getDetailBySetMealId(String setMealId);
}
